package com.seari.service;

import com.seari.bean.*;
import com.seari.pojo.QueryBase;

import java.util.List;
import java.util.Map;

public interface AlarmService {

	// 查询报警数据
	public List<AlarmMessageBean> queryAlarmData();

	// 查询各专业故障类型统计
	public List<AlarmCountMalfunction> queryAlarmMalfunction();

	//故障统计Top10
	public List<AlarmCountMalfunction> queryStationAlarmTop();

	//综合监视车站故障统计Top10
	public List<AlarmCountMalfunction> queryAlarmTop();

	//综合监视页面查询实时报警
	public List<AlarmMessageBean> queryRealTimeAlarmData();

	//设备管理故障比例统计
	public List<AlarmCountMalfunction> queryMalfunctionCnt();

	//数据分析各级别故障统计
	public Map<String ,Integer> queryMalfunctionRank();

	//数据分析全线实时报警查询
    public List<AllLineRealAlarm> queryRealTimeAlarm(AlarmQuery alarmQuery);

	//查询数据分析全线实时报警
	List<AllLineRealAlarm> queryAllLineRealTimeAlarm();

    //查询设备总数
	public Map<String, Object> queryDeviceSum();

	//综合监视全线故障
	public List<Integer> queryAlarmLineMalfunction();

    //设备管理设备分类统计
	public Map<String,String> queryAlarmSystem();

	// 查询重要设备健康度
	List<HealthImportDevice> queryHealthImportDevice(QueryBase qb);
	
	//查询重要设备风险指数排行榜
	public Map<String, Object> queryDevicePro();
	
	//查询重要设备故障统计Top10
	public Map<String,Object> queryDeviceTopTen();

	//数据分析全线车站故障统计
	List<AllLineStationFault> queryAllLineCntFault();

	//综合监视车站故障总览
    Map<String,Object> queryAllLineFault() throws Exception;

    //综合监视接口状态
	List<String> queryDevicePort();
	
	// 获取重要设备健康指数
	public int getHealthIndex();

	//查询系统健康指数
	Map<String,Double> systemHealthValue();

}
